package interface_;
/*
2)多态数组InterfacePolyArr.java
演示一个案例：给Usb数组中，存放 Phone 和 相机对象，Phone类还有一个特有的方法call
（），请遍历Usb数组，如果是Phone对象，除了调用Usb 接口定义的方法外，还需要调用
Phone 特有方法 call.
 */
public class Test03 {
    public static void main(String[] args) {
        Usb[] usbs = new Usb[2];
        usbs[0] = new Phone();
        usbs[1] = new Camera_();

        for (int i = 0; i < usbs.length; i++) {
            usbs[i].start();
            usbs[i].stop();
            if(usbs[i] instanceof Phone){
                ((Phone)usbs[i]).call();
            }
        }

    }
}
interface  Usb{
    void start();
    void stop();
}
class Phone implements Usb{
    public void call(){
        System.out.println("手机正在打电话");
    }

    @Override
    public void start() {
        System.out.println("手机开始工作");
    }

    @Override
    public void stop() {
        System.out.println("手机停止工作");
    }
}
class Camera_ implements Usb{
    @Override
    public void start() {
        System.out.println("相机开始工作");
    }

    @Override
    public void stop() {
        System.out.println("相机停止工作");
    }
}

